Currently, in-memory management systems are being designed to rely on primary data residency in main memory (e.g., volatile byte-addressable random access memory (RAM)) and primary data persistence in low-latency non-volatile, byte-addressable memory to achieve lower access latencies for primary data used to execute various types of applications (e.g., database application). Furthermore, in-memory data management systems typically implement memory read-ahead techniques that are configured to speculatively read data into main memory with the assumption that the data will be accessed by an executing application or process. More specifically, read-ahead operations are performed to speculatively prefetch data into main memory (e.g., prefetch pages into a page cache backed by RAM) so that when the data is subsequently accessed by the application or process, the data will be read from the main memory rather than from a secondary storage device or system, such as a hard disk drive (HDD), which has much higher access latencies. While read-ahead memory access operations can significantly improve the overall performance of an I/O bound application by eliminating the need to wait for faults to resolve non-resident data, speculatively prefetched data can wastefully consume scarce memory and I/O bandwidth when the prefetched data is not actually referenced by the executing application or process (e.g., when the read-ahead operation does not match actual memory access patterns).